package database

import (
	"database/sql"
	"fmt"
	"log"

	"pgm/internal/config"

	_ "github.com/lib/pq"
)

var DB *sql.DB

// InitDB 初始化数据库连接
func InitDB() error {
	var err error
	dsn := config.AppConfig.Database.GetDSN()

	DB, err = sql.Open("postgres", dsn)
	if err != nil {
		return fmt.Errorf("连接数据库失败: %w", err)
	}

	if err = DB.Ping(); err != nil {
		return fmt.Errorf("数据库连接测试失败: %w", err)
	}

	log.Println("数据库连接成功")
	return nil
}

// CloseDB 关闭数据库连接
func CloseDB() {
	if DB != nil {
		DB.Close()
	}
}
